//
//  ALUser.swift
//  
//
//  Created by 柴瑞军 on 16/4/14.
//
//

import UIKit

class ALUser: NSObject {
//用户UID
    var  id: Int64 = 0
    
    /// 用户昵称
    var screen_name: String?
    
    /// 用户头像地址（中图,50×50像素
    var profile_image_url: String?
    
    /// verified_type 没有认证:-1   认证用户:0  企业认证:2,3,5  达人:220
    var verified_type: Int = -1{
        didSet{
            // 当KVC给verified_type设置认证类型,来根据会员等级来生成对应的图片
            // 没有认证:-1   认证用户:0  企业认证:2,3,5  达人:220
            switch verified_type {
            case 0:
                vertifierImage = UIImage(named: "avatar_vip")
            case 2,3,5:
                vertifierImage = UIImage(named: "avatar_enterprise_vip")
            case 220:
                vertifierImage = UIImage(named: "avatar_grassroot")
            default:
                vertifierImage = nil

           }
        }
}
    
    //    认证图片
    var vertifierImage: UIImage?

        
    /// 会员等级: 1-6级
    var mbrank: Int = 0{
        didSet {
            // 当KVC给mbrank设置会员等级,来根据会员等级来生成对应的图片
            if mbrank > 0 && mbrank <= 6 {
                // 设置会员等级图片
                mbrankImage = UIImage(named: "common_icon_membership_level\(mbrank)")
            } else {
                // 防止cell复用设置nil
                mbrankImage = nil
            }
        }
    }
        
        
    /// 会员等级图片,别人直接使用这张图片
    var mbrankImage: UIImage?

    
    
//    字典转模型
    //    调用父类的init方法是为了保证对象创建完成

    init(dict: [String: AnyObject]){
        super.init()
        setValuesForKeysWithDictionary(dict)
    }
    
//字典中的key在模型中找不到属性的时候调用该方法可以忽略那些属性,如果不实现该方法,程序运行的时候会奔溃
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {}
    
//    打印方法
    override var description: String{
        get{
//            根据定义定义的key值查找相应的value值,,再对其进行打印操作
            let keys = ["id", "screen_name", "profile_image_url", "verified_type", "mbrank"]
            
        return "\n\n\t : 用户模型:\(dictionaryWithValuesForKeys(keys))"
        }
        
    }
}
